Refactor .cabal to use sub-lib for vendored lib
Refactor .cabal to use sub-lib for vendored lib

A practical benefit is that we can control the build-depends and also
avoid some recompilation between library and test-suite.

haskell/haddock,Fuuzetsu/haddock,haskell/haddock,haskell/haddock,haskell/haddock,haskell/haddock,Fuuzetsu/haddock,Fuuzetsu/haddock,Fuuzetsu/haddock