Separated Actor class into actor and scheduler parts

The "actor" parts are in a mix-in that is used with threading.Thread to
make a normal actor, but can be used with other scheduler / event loop
systems to make actors that can connect to normal actors but live in
alien event loops.
A QtActor mixin to convert a Qt object to an actor

Using this mixin allows guild pipelines to connect to existing Qt
objects, or to write new Qt objects with actor functionality.
Don't use timer when running in own thread
Added class to route guild pipeline to Qt signal
Fix error in last commit
Inherit base classes in right order

This can eliminate the need for a __init__ method.
Added example guild/Qt hybrid system
Connect pause button directly to player component
Added some documentation
Use low priority events to run generator

This unifies the threaded and non-threaded code: the only difference is
whose event loop the events are processed in. The stop() implementation
is a lot cleaner now as well.
Queued methods weren't running in correct thread

Creating QSocketNotifier in __init__ method meant it was attached to the
wrong event queue.
Replace QSocketNotifier with custom event

This brings queued method invocation in line with gen_process and stop
handling.
Rearranged methods into a more logical order
Allow constructor parameters
"Join" method now waits for events to be processed
Removed superfluous _qtactor_main() generator
Ensure onStop is called, even if no gen_process

I'd mistakenly thought it only applied to generator type actors, but
re-examining the normal actor code shows it applies to all actors.
Some Python3 compatibility
Better Python3 compatibility

Avoid "2to3" by writing coe that works in both Python2 (2.6+) and
Python3. Not sure about the exception handling though.