Add load path stuff so that pry works correctly.
Started working on Viewport concept for scrolling interfaces.
Only log when focus changes.
Make #virtual_y and #virtual_x accessible.
Add Content class to track a virtual cursor within the content of the interface.
Add #refresh method to update the interface after the cursor moves.
Use correct range operator to remove requirement to alter value of #viewport_height.
Return height with #attrs, also;

- Add temporary #width method.
- Add more documentation.
- Simplify movement.
Add options.
Fix #virtual_y and #virtual_x, add #to_h.
Add Area class.
Add options for Compositor to #by_name.
Compositor should only be called from Refresh.
Add Viewport class.
Require Area and Viewport.
Add unused defaults.
Rollback.
Rollback.
Sort of working...
Remove options argument as no longer required.