Add offset mixin

See #316 for the main details.

The tests pass now, but I'm unsure about something...

I've tried it with a context ration e.g `offset(1/2 1/4);` and it doesn't seem to work. Can someone take a look for me?

Anyway, let me know what ya think!