Favicon API

Alternative implementation to #965. A bit more flexible (more `read()` methods etc).

This provides a `Favicon` class which has factory methods to create from an image, stream, `File` and `Path`. The Configuration and Gson compiler were modified to use the Favicon class.

**Issues:**

- Configuration.favicon is now private; this will break plugins that try to access it directly. Maybe a dummy variable could be made so they do not produce an exception but instead fail silently?

- Because there are two constructors for ServerPing now, calling one with `null` as the favicon will not compile properly (ambiguous). This should not break already compiled plugins, however.