GUI rewrites, border classes

NOTE: This is a major update to JangoDare's whole GUI system, hence it
will probably break a lot of things in your game code.

* A Border class and two subclasses (LineBorder and EmptyBorder for now)
were added. All border-related methods in the component classes were
changed to take these instead of colors.
* General rendering behavior was improved, so that it is easier to let
superclasses do jobs like rendering borders or the background.
* Wherever possible, protected fields were replaced with private fields,
adding getters and setters if necessary.
* Container was brought to life. Previously, only the component storage
part worked; rendering and input were implemented wrong.
* The Component class received many utility methods. Please refer to the
source code for details.
* TextComponent implements a normal text rendering function to shorten
code in all current subclasses.
* The LineFontRenderer's stroke size is now 1/10 the letter size,
instead of 1/8.

Important things to keep in mind:
- Some components, especially Button, have more default styles. It might
be necessary to reset some of them if unwanted.
- It is advised for components to call super.render() to get standard
rendering out of the way.