More generic Icon interface

So to enable different implementations of the font loading.
The Sample app got updated so to demonstrate how to load a font from the application assets.