[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}}`.

Added tests to prevent regression.

Closes #3652.
Closes #3753.

(@twokul && @hjdivad && @rjackson)