New block based API.

Added new block based API which allow to execute code after animations
for push or pop completed.
Added new API which allows to replace central view controller with
animation of full opening and then poping new controller.
Replaced all #defines with constants.
Some code styling for easy reading and understanding.