Add init methods for utilizing dispatch queues instead of run loops

NOT REALLY READY FOR PRIMETIME!!

Just offering it for thoughts.  It's pretty trivial to use dispatch queues vs run loops, so I thought I'd add some alternative init methods to expose the ability.  It's pretty hacked though: there are no #defs checking for versions that support GCD, and some duplication, etc.  Honestly, I'm very new to ObjC, Cocoa and C, so I'm not very good yet with all the slick macro stuff.