Fix semver, release 2.0.3, 2.1.0, 3.0.0

fixes #167

fix the semver issue:
- 2.0.3 revert all breaking changes (==2.0.1),
- 2.1.0 add the new feature (typedef inject),
- 3.0.0 add the breaking changes, export & new packages - as those packages have BC, they should be updated in a Major release.

@antingshen @mhevery waiting for your approval before merging this & applying the tags. _(I don't think I can upload this to pub)_

Note: all the 3 releases have been tested.