This removes the `contents` keyword, and adds the `block` keyword:
* `contents` was a string, is now removed
* `block` is a function, is called whenever the `block` statement is used within a mixin
* Because `block` is a function, it is called "in-context" and can therefore render prettily
By using `Function.call`, we can pass mixin blocks without affecting arguments, which otherwise leads to weird bugs if optional arguments are being used in the mixin.
This also makes the `block` variable true/null instead of returning the function itself, which is safer for users. The function is instead available as `this.block`.