Create new http api for compiling

This includes:

  * New compiler REST methods (fixes #150)
  * New widget serialization
  * New widget view code
  * New /tortoise page that has dynamic loading of non-standalone models
  * Button widgets (fixes #26)
  * Input widgets (fixes #145)
  * Note widgets (fixes #147)
  * Compiler code duplication reduction (fixes #131)