Reorganise project files.
Return the stream as it is useful for testing and debugging;

- Update tests to reflect new behaviour.
Interface should not call Compositor directly.
Fix colour palette for default colour.
Reduce duplication.
Convert Esc and Cursor to purely functional modules;

This way they cannot be accidentally initialised.
Massive refactor! (Interfaces have Queues!)

- Interface now has an #update method which dequeues the buffer, returning the contents. Each buffer is the interface’s own Queue.
- On interface creation, a blank buffer is created with the user’s preferred foreground and background set.
- Output.render now requests each interface’s buffer and outputs it to the terminal.
- Remove #initial_state - Output.render will get the interface’s initial state.
- Process.evaluate now calls the Compositor with the result.
- Compositor now enqueues the composition onto the interface’s own queue.
- Remove Renderer - no longer required.
- InterfaceRepository discards any empty streams.
- Update tests to reset the InterfaceRepository to prevent buffers being filled up with last test’s output.
Move test files into correct places.
Interface creation and activation tidy up.
Dequeue interface only if contains data.
Merge pull request #19 from gavinlaking/twerks

Fixing of enqueuing and dequeuing.