Simplify the Input API for basic widgets.
Document the basic input functions.
Change the type of `FieldState` slightly. Now uses `selectionStart` and `selectionEnd` instead of the more ambiguous `start` and `end`.

Also add tons of documentation to `Graphics.Input`.

Also add the `emptyFieldState` value.
Fix a cyclical dependency in the runtime, fix a use of `ms` which is now undefined.