Replace various __import__ calls with one Powerline.get_module_attr

Also makes some more errors non-fatal:
- Failure to import renderer class in case there is an existing renderer object
- Failure to import segment function
- Failure to import matcher function

One of the purposes: create a function that is able to collect all imported
modules to reload them (really purge out from `sys.modules` and let the python
do its job when reimporting powerline and recreating Powerline and other
objects).
Remove reference cycle

Switches from

    powerline ↔ get_module_attr (as a bound method it contains reference to
            │       ↑            self)
            └────> theme

to

            ┌────> pl, import_paths
            │       ↑
    powerline → get_module_attr
            │       ↑
            └────> theme

This is a separate commit because I am not sure whether it makes sense to bother
with this cycle.
Add set_event argument to .shutdown() method
Pop path from self.loaded on exception
Record imported modules
Add setup function
Add support for full powerline reloading at runtime

Is not guaranteed to work in all cases.
Update documentation for `Powerline.init`
Merge pull request #436 from ZyX-I/powerline-reload

Add support for reloading powerline