Move Power out of Building and into its own trait

This should allow for non-buildings to provide and use power.
You'll also need to add the scaling property if amount > 0.