Fix memory management issues

Got some crash reports from GCPlaceholderTextView -dealloc.

First change ensures that placeholder will not be corrupted when setting the same string (same pointer): If it has retain count == 1, then first release will dealloc the object, and retain will be sent to deallocated object.

Changes in dealloc are made to avoid having references to deallocated objects. Just in case.
Merge pull request #10 from psineur/patch-1

Fix memory management issues