Major Update

Finished the module system and had it support asynchronous pairing,
inserting the modules only when their required components are ready for
them. Separated the input from the core, as well as changed 'gui' to
'ui' and added the appropriate functions to it so the modularization of
functions and their purposes is more apparent. There are numerous other
changes.