Move existing instance removal from init to render

If the instance isn't set to append, other instances on the target element should first be removed/torn down.

I don't foresee any issues with moving this, and all the tests are happy. I'd like to get another set of eyes and cerebral cortices on it, though.

Fixes #1430
My guess is that the all vars on top is to avoid hoisting confusion and errors.

@Rich-Harris can chime in on `let` if he disagrees, but seems like that's kinda the point of having an ES6 transpiler. :)