Smie based indentation

Implemented indentation using `smie.el`. As a result `sexp` are working and `word` movements are more precise.

One thing that is currently broken is `do-while` loop (`while` works), I can't find a way how to resolve this issue, maybe someone will be able to do that. I think this is less useful loop statement anyway (I wish it was removed at this point :) ), so it's shouldn't be a problem in most situations.

fixes #18