How do I program a custom FPS overlay in Ogre3D?

I want to make a frames per second and debugging info overlay, similar to the one in the bottom of the following image, but without using SDKTrays or OIS.

I also want to be able customize its look, by changing its font and background color. How do I program something like this, in C++?

• Please choose Ogre or mOgre. They're different bindings of the same engine. You can't choose C++ and C# at the same time. – Gustavo Maciel May 1 '12 at 3:36

Simple as adding the 40 lines class file to your project loading a font of your choice and calling TextRenderer::getSingleton().printf("text", "Last FPS: %f", renderwindow->getLastFPS()); from your update method body.
You can change it color on the initialization of the overlay: TextRenderer::getSingleton().addTextBox("text", "Last FPS:", 10, 10, 100, 20, Ogre::ColourValue(redValue, greenValue, blueValue, alphaValue);