Use instancetype where appropriate.
Add new macro to detect iOS7.