multiple improvements, use slim-liquid

* More consistent module structure
* Explicitly require activesupport where needed
* Use slim-liquid to improve slim/liquid interplay