FPS: Introduce fps_float method

* We get floating point access violations if we try working with
floating point numbers & unsigned integers otherwise!
BitmapFont: Clean up class a bit — comments & use sint type in loops
Label: Fix bug with alignment check & implement MiddleLeft, MiddleRight
Texture: Move uknown color depth case from the pixel method to bits_per_pixel
IFont: Introduce valid method as required interface
Label: Change return type of width, height methods to unsigned int
Label: Clean up width & height calculations a bit (semantics/clarity)
Label: Make FontStyle & TextAlignment uint32 enums & make default TextAlignment = TopLeft
Label: Add argument for text alignment to constructor variant
Label: Introduce constructor variant for passing IFont (shared) pointer
Label: Add text alignment logic for all enumeration cases
MessageBox: Refactor way we handle label groups & add update boolean
examples/app: Use nom::Label with our info_box (nom::MessageBox)
Label: Re-order copy constructor & copy assignment methods file location