Add support for more text types than string literals

Currently, Fanciful only supports textual values being string literals. As mentioned by issue #9, however, there are other options available to render text, such as [localized strings](http://www.minecraftforum.net/topic/1975697-1718-raw-json-text-examples-for-tellraw-title-update14w20b/#ALTTEXTtranslate). In addition, the linked post mentions many other alternatives to string literals for displaying text (which are currently supported in snapshots).

This PR adds all of the text-literal alternatives documented on the above post, throwing an `UnsupportedOperationException` for those which are not present in the stable Minecraft client (but the code exists such that it is easy to remove the exception upon release of the applicable stable Minecraft version).

Very little API is broken, the only existing publicly-visible method signature change was `then(Object)` to `then(String)`, which is a more concise definition anyway (w/o docs: what's this random `Object` argument?).

No documentation is added in this PR as I am waiting for a status report on PR #27. I can add further documentation to this PR upon request.