Do not re-attach a view on re-render

Calling view.render() on a View that has already been rendered causes
it to be re-attached.

Add an 'isAttached' flag to View so we know if we need to re-render
or not.

Thanks to @akre54 for sussing out the faster, flagg-less method