WIP: Preprocessor indention partial rewrite.

This is the beginning of some fixes to the bugs in #118 so I could get some comments.

Really, this is meant to solve the problem of uneven indention depth. I.E.

    identity = ->
        matrix = [1, 0, 0, 0,
                  0, 1, 0, 0,
                  0, 0, 1, 0,
                  0, 0, 0, 1]

It doesn't however solve all problems currently related to getting that to parse however.