Merge pull request #95 from gavinlaking/twerks

Fixes, tweaks & things.
Bump gem version to 0.2.3.
Started working on Viewport concept for scrolling interfaces.
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 Area class.
Experiment with options.
Add Viewport class.
Require Area and Viewport.
Add unused defaults.
Experimental stuff for scrolling, cursors and geometry.
Remove unused code.
Simplify by removing empty check and using #key?

- Whitespace.
Add more documentation, also;

- Fix whitespace.
- Remove commented out code.
Move exceptions into correct file.
Add tests for Area.
Add more documentation.
Make #y and #x public.