Make sure startup() isn't called repeatedly.

Unfortunately this sets up a dependency where register.js needs to know that
Widget.js sets a this._started flag.   I don't currently see a way around that.