Reworked the BitmapFont to use more C++ features, fixed a casting bug