'Import the plugin code and cache the module in the plugin object.
:type   loading_point_name: string
:param  loading_point_name: name of the python file to import (w/o extension)
:type   plugin:             ``util.bunch.Bunch``
:param  plugin:             the plugin containing the template to render
:type   import_as:          string
:param  import_as:          namespace to use for imported module
This will be prepended with the ``__name__`` of this file.
Defaults to ``plugin.name``
:rtype:                     ``util.bunch.Bunch``
:returns:                   the loaded plugin object'

def import_plugin_module(self, loading_point_name, plugin, import_as=None):

    import_as = ('%s.%s' % (__name__, (import_as or plugin.name)))
    (module_file, pathname, description) = imp.find_module(loading_point_name, [plugin.path])
    try:
        sys.path.append(plugin.path)
        module = imp.load_module(import_as, module_file, pathname, description)
    finally:
        module_file.close()
        if (plugin.path in sys.path):
            sys.path.remove(plugin.path)
    return module
