Remove ruby-yajl, use Oj instead.
Remove debugger.
Overhaul composition;

- Rather than bare strings, Directive expects { text: ‘’ }.
- Interface#initial_state passes a hash containing text instead of bare text.
- Extract style, foreground and background to a Formatting module.
- Style should be set before colours as this produces the correct results.
- Stream#text should default to an empty string.
- Remove .reverse and .inverse from Esc in favour of .negative.
- Update support files to not use reverse and inverse, also, change colours so there is a visible difference when testing.
- Add .dim to Esc.
- Esc.normal does not .reset, it switches underline and bold off, and resets colours to positive mode.
- Add #to_compositor method to Parser.
- Add #to_compositor to Buffer::Interface.