All Styles should export all top-level definitions

This allows other people to compose styles out of the various parts of
other people's styles. Furthermore, I have removed the restriction of
State type in Chris Done's style, to allow it be used over any state.
HIndent.Pretty should work over any MonadState PrintState
Adding tests and implementation for proper comment localization.
Fix: Keep earlier nodes when searching for nodes a comment precedes.
Fix: typechecking.
Make sure that comments before nodes are on their own line. Add/fix test case.