Small refactoring + error reporting

Just a PR following my stupid
https://github.com/reworkcss/rework-calc/pull/3

I’ve refactored the code a little bit (& also use rework-visit which is
more bullet proof) like rework-vars.
I quickly refactor tests to make it more understandable.
I add some error reporting like we have in rework-vars.

Btw, maybe we can expand the use of balanced-match to rewrite other
parts of the plugin.

poke @necolas 
calc functions