Initial push, everything's broken atm.

Probably going to start with a working implementation, then work
on replacing that API with normal $.ajax() format.