Implement proper font handling

Adds on the fly font size changes
Adds interface for loading different fonts (e.g. Mono font in chat console)
Adds support for different font sizes

This is not supposed to result in absolutely identical menu as it's removing the current automatic gui scaling and replaces it by evaluation of parameter screen_dpi.
That parameter as well as font size setting are supposed to be added to GUI settings subtab to be implemented soon.

You use an initializer list to set things like `m_settings` and `m_env` to `NULL`, and then set them to the arguments later.  Why?