Fix nil bug.
Remove unused #to_json functionality;

There is no requirement for this in the project at this time, best re-implement if it needs to exist.
Move Presentation module inline.
Tidy up the models;

There was a lot of junk in the models because I was trying to accommodate this idea of outputting JSON. This is no longer required so some of the logic has been removed since we no longer need to keep an 'original' of the colour requested or style.
Minor update to remove Presentation.
Tidy up code.
Remove unnecessary assignment.
Fix independent running of this test file.
Rename some variables.
Rename classes;

- Builder to InterfaceTemplate
- Persistence to InterfaceStore
Add a few temporary Todos.
Remove ruby-prof.
Simplify calls.
Extract refreshing of an interface to new class;

- Compositions shouldn't create new interfaces if it can't find one; it should raise an exception since the user is sending to an interface that doesn't exist.