index: fix lint
index: hoist the set() function out into its own closure

The intention here is to make the `Symbol` instance elidgible for
garbage collection, and the `setter` closure be the only thing that
gets retained in memory on the `Object.prototype`.
Merge pull request #1 from component/optimize

Optimize: hoist the set() function out into its own closure