New indentation strategy

Instead of parsing completely, add open/close delimiters in a first
pass, than parse into a tree
Commit before switching to new state machine