GUI updates.

GUIContext now uses a specialized queue for its keyBuffer in order to
reduce memory use. Dead elements are now immediately removed from the
elements upon being destroyed rather than waiting for the next call to
addAndRemoveElements(). getElements() now returns a List instead of an
ArrayList. Improved some comments.

All other changes are just updates to account for changes to GUIContext.