Fix potential crashes and inconsistent behavior related to placeholder

This pull request fixes the following issues:

1. If you call `-setPlaceholder:` before setting the text view's `font`, an exception is thrown.
2. If you call `-setPlaceholder:` with a nil string, an exception is thrown.
3. If you call `-setFont:` after `-setPlaceholder:`, the placeholder font is not updated.

Here are my [test cases](https://gist.github.com/cspickert/9592047).