Mixin ordering

Fixes #1435

If you have code like:

```jade
mixin bang
  +foo

mixin foo
  p bar

+bang
```

jade can't detect that `foo` was called since it appears to be called before being defined.  It therefore gets stripped out by the optimiser.  This fixes that by registering the call regardless of whether it's before or after the definition.