Simplify by refreshing the interface not the cursor.
Add #move to Offset, Offsets, also;

- Add corrective logic to Offset to prevent negative offsets.
Remove unused method.
Refactor Geometry;

Using #width and #height was a little buggy in the fact that the values requested by the client application may not be available to the current terminal. The workaround was to have classes call #viewport_width and #viewport_height to compensate. However, client applications may have asked for the interface height and then be disappointed when content did not render correctly. Internally, having a workaround would probably trip me (us?) up eventually by calling the wrong method for a value.

Changing Geometry to give back what was available may remove some unwanted side-effects and prevent future bugs.
Cursors are hidden by default; fix tests to reflect.
Remove :_cursor_refresh_ event, also;

- Add #move to Cursor.
- Refactor to remove the need for Cursors.use.
- Add #hide, #move and #show to Cursors, which call the respective method on the cursor associated with the interface currently in focus.