Adding support for skill shortcuts, skill use in the field

Changed Item and Skill IDs to be the same UsableId structure. The
majority of the files affected by this change are the result of
replacing ItemId and SkillId with UsableId.

Introduced a PlayerDataSummary object to serve as a model for loading
and displaying a subset of the information typically contained in
PlayerData. The PlayerDataSummary can only be changed by loading data,
but otherwise just serves as a read-only view of a savegame file.
Currently, only the character thumbnails are used by the Data menu, so
the character roster is all that the summary object loads from the
savegame.

As shortcuts have become a little bit more complex than just item IDs,
created Shortcut objects to represent Item shortcuts and Skill
shortcuts (where the latter also keeps track of which Character would
be casting the skill).

Skills can now be used in the field, and skill scripts now take the
casting character as their first parameter, so that they can refer to
the character (to consume SP, or to perform self-targeted skills like
buffs).

In the future, Characters will learn skills based on the leveling
system and have starting skills based on their archetypes. For now
though, skills can be added in Lua script by calling addSkill on a
character.