Refactor Ability, use Game::BaseObject
Skill uses normaly max_uses = nil, so the uses does not reduce
fixes some stuff with Battler#skills
add equip_type into Equipable, they are used to differ Bow and Sword for
sample
add Mastery + Battler#mastery, they are influenced by the equipped
equip_types so equipping a Bow will trigger the :bow mastery
Add Skills to Mastery that will available when the mastery levels up and
the right equip_type is equipped