Adds loading of Interfaces/Widgets from JSON.

Window management and drawing is being removed from Viewport which
simply will draw a scene within a region. Viewports will become special
Window elements instead.

Engine::System now pulls in a Registry::Interface and then an
Interface::Window to draw. There should be an interface engine instead
that manages which interface is currently visible and interactable.