[BUGFIX beta] Ensure aliased {{with}} blocks are not shared.

Use prototypal inheritance to ensure that the keywords available within a `{{#with}}` block are not leaked outside the `{{/with}}`.

Closes #3652.
Closes #3753.

Hard work done by @twokul and @hjdivad.