Initial alpha

Working but with minimal error checking, only single threaded, and all
of it runs in the GUI thread.  More of a proof of concept, really.