User Interface: Added dummy Textbox to FilterList.

Created a Textbox class that has a background, clipping mask and
text field. And added it to the FilterList.

Also now fixing Row sub-title positioning on build, as adding the
Textbox modifies the positioning of subtitles otherwise.
User Interface: Forcing draw on initialise.

Previously the mouse needed to be moved before the first draw call
occurred after everything was added to the screen.
User Interface: Now it is the Window that is being passed to FilterList

...and TextBox by association. This allows the Textbox to force
update the screen on key presses.
User Interface: TextBox._fix-text-align fixing long strings now.

Long strings are scrolled now, to prevent losing the end of the
string being actively edited upon.
User Interface: Textbox now accepting keyboard input.

Textbox is updated by keyboard input.
User Interface: Callback for Textbox value changes.

Added callback that is called when the value of the textbox changes.
Used the callback in the FilterList to update the filtered list.
User Interface: BUG FIX: Not caching Rows for FilterList.

Removing paperjs items from the view heirarchy breaks them in some
way, so I am going to disable caching for now, as performance is
fine without it.
User Interface: Documenting TextBox.