Better OOP design implementing a Singleton

This way we can get a plugin reference later in the plugin execution if desired

In Addition, Adjusted whitespaces to be in harmony with PHP coding style.
Added version information for assets to match the plugin version.

As a small side effect, we need to bump the version in two places: plugin.php header and the FontAwesome::VERSION constant.
Created TinyMCE plugin to make it possible for the user to select font awesome glyphs from a drop-down list
Added a small ruby script to generate the list of icons based on the list contained in build/icons.yml