Use text_layer_get_layer instead of typecasting to Layer*

This is what the examples do, so it is probably the safest way to do it.
Mimic the example ordering for deinit

The examples remove the window from the stack, and then destroy it, before the
TextLayers are destroyed. Do the deinitialization in the same order here.
Unload fonts in deinit
Destroy animations when we are done with them.

Again, this is what the example apps seem to do, so it is most likely the
correct way forward.
Merge pull request #3 from ksmadsen/master

Various cleanup and deinit fixes