Refactor position mixin

- Adds support for `calc()` CSS function
- Fixes #455

To do:
- [ ] Improve docs, mention you can now use `calc()`
It's hard to tell what's going on here and I can't find the `@return`/`or` syntax in the Sass docs, but it handled everything I threw at it beautifully.