Revamped View state restoration

- Added abstract Parcelable Creators that store View state and Transitions. Each screen must now provide its own Parcelable Creator to store own fields.
- Removed StateBlueprint interface in favour of TransitionScreen class
- Replaced GsonParser with ScreenParser which simply casts Parcelable objects
- Added BetterViewPresenter that has useful lifecycle methods and viewState restoration helper functions
- Added ViewStateScreen example
#closes 5