Allow to pass a custom `document`
Fix mixin usage

`mixin = require("foo").bind(this)` was not a good solution, because it bound
the mixin to the top-level scope, which was very confusing if you run it inside
a nested element. Better to explicitly `.call` it each time: `mixin.call @, args`
Readme nitpick
Drop the `::id` shortcut

KISS! IDs are not as commonly used as classes. This also removes the odd
restriction that you cannot type `.prototype` to get `class="prototype"`, and
that `.prototype.id` results in `id="id"`.
Add `@`-assigning of mixins

This makes mixins more of “custom elements”. Running `@mixin` always gets the
correct context.
Change to max 80 chars per line
Restructure project
Add changelog
Fix actual/expected error message order
Add `@$` parent reference
jawa-juice v0.3.0