Tag.of combinators for improved inference when working with tags.
some improvements `TagOf`

* rename `TagOf#on` to `TagOf#apply`
* bind all `TagOf` objects. avoid unnecessary object allocation
Doc TagOf#onF, TagOf is a ~> after a fashion.
Hide TagOf constructor.
Merge pull request #533 from S11001001/topic/tag-funs

Tag.of combinators for improved inference when working with tags