Limited the size of the CommandHistory.

Used a data structure I named CircularList. It could use some tests.

It is your average ArrayList, but allows you to set a maximum capacity so that
if an element is added after the list is full, the oldest element in the list
gets removed.

The implementation avoids the use of ArrayList.insert() and instead uses a
fake index. This way, after an element is added, just ArrayList.set() is used.
Using empty borders.

Also started using GridBagLayout.

Refactored a constant to its rightful place.
Finished the custom ScrollBar.
Small temporary fix on a GUI issue.

This avoids NullPointerExceptions if the player types something while a
GameState is being deserialized.