Organise ui package structure
Remove delta parameter from GLUI component update
Add text fields

- Added text fields, implemented correctly (with no hacky methods!)
- Changed the way we poll for input within the GLUI. First call
  Input.create(), then at the beginning of each game loop call
  Input.poll(). Loop through Input.getKeyEvents() and
  Input.getMouseEvents(), telling each component to processKeyEvents()
  and processMouseEvents() for each MouseEvent/KeyEvent. Finally,
  update() all components. This allows components to respond to Keyboard
  and Mouse input (or simply do nothing) and then have their style
  updated in cases such as hovering the mouse over the component (as
  this will not trigger an event).

See TestGLUI for an example.