Adds Registry::Interface.

This registry object contains the components and widgets that make up an
human interface. Buttons, labels, etc. They can be read from a json
file.

Next: Registry::Widget will contain information about individual widgets
and where their code is found and their properties.
Places Interface Event functions into Interface::Event.

Events are now under Interface::Event so that they can be used without
including all of Interface::Window.

Registry::Widget now contains knowledge of internal widgets under
Interface namespace (label and button) and can now load such widgets by
their JSON descriptions.
Adds interfaces and widgets paths to Engine::Object and JSON.
Adds loadInterface to Engine::Object.
Adds loadWidget to Engine::Object.
Adds property parsing for Registry::Interface widgets.
Create window hierarchy in Interface loader.