Add the concept of weapons.

This keeps functions from bring values, which is incompatable with
serialization.
Oops, use correct URL for Hydrate.js.