Shader, GUI fixes, adding features.

- Surface shader used by button now accepts color.
- Button asks for colour, sets default to red. Easy to debug.
- Trying to calculate label width. TODO: calculate height.
Correct label WIDTH. TODO: height.
Added FTGL submodule
Removed FTGL. Wow that was fast.
Finally, practically working label height and width calculation.

- Width is apparently completely correct. Height still has problems with
accents and such. Take a look at the geometry calculations in the helper
function. There is your trick.