rewrite ESSerDe to improve interoperability with external ESSerDe

dump typoinfo in favor of object inspector as the type does not change but its
format can causing issue. the oi variant should be just as fast and also provide
better interoperability as we're using the provider code instead of guessing its format

fix #87