Reverted state-marshalling

closes #68, see the discussion there. To be re-enabled when fixed
Simpler nstream interface
(Lexing.from_fun is specially intended for reading from channels, and does a lot of unnecessary string copies.
The files handled by ocp-indent aren't that big, using a single string may be better than copying every chunk many times)
todo: we may not need the full token strings at all, depending on the use-case (--numeric or normal). Very few rules scan the strings (comments/ocamldoc, operators), and only the first few characters, that may be kept in the tokens. Multi-line tokens may still be a problem.
Rewriting the library interface for more flexibility

* now cleaner functional interface, passing an acc along instead of side-effect only
* new Extended output constructor passing each construct individually to the user.
May even be used for syntax-highlighting with a few categorisation functions.
Documenting line numbers
Fixed new functions for inspecting stack in IndentBlock
IndentPrinter: make sure pr_nl is always called just before print_indent, on the same block
We can now be specific that the leading lines of a token will be given the last block, while the newline and indent in front of the token get the new block. This may be of importance for the new Extended interface
fix: stopping at EOF
... we have several kinds
Added a function to detect comments from the lib