Restore location_t struct, use more int8_t, etc.

Brought back the location_t struct (because the player_t struct had
become too large to save in one call to "persist_write_data") and
changed most instances of int16_t to int8_t. Also added preliminary code
for a "cast_spell_on_npc" function, made adjustments to the
"move_player", "damage_npc", "determine_npc_behavior", "init_player",
"adjust_minor_stats", "menu_select_callback",
"graphics_select_single_repeating_click", and "show_narration"
functions, removed the "fill_quad" function, increased map width/height,
and added "const" to several function parameters.