Move Power out of Building and into its own trait

This should allow for non-buildings to provide and use power.
I usually try to use different words to avoid redundancy with the variable name and to be more descriptive. `HP` could be written out as hitpoints or "damage taken".