Support larger terminals automatically

On POSIX systems, determine the main window layout based on the terminal
size at startup; Hardcoded window positioning has been replaced with a
layout which is a function of terminal size. (This is a stepping stone
for a resizable window in-game).

On Windows systems, layout is still determined via 'Viewport size'
options; This patch should be simple to adapt for windows but I am
unable to test on that platform.
Simplify the terminal size/layout logic
Added cake, some new weapons, replaced Heartless with cannibal, new
morale penalty for eating human meat.
Fixed cake spawn
Hospital maps
Lockpicks break more properly now
Unneeded i_rem removal
Merge pull request #199 from Catacstone/hospital_map

Hospital maps
Merge pull request #202 from Catacstone/lockpick_breakage

Lockpicks break more properly now
Merge remote-tracking branch 'upstream/master'
spelling fix in iuse.cpp
Merge pull request #206 from jbfink/spelling-fix

spelling fix in iuse.cpp
Merge pull request #193 from iank/terminal_size

Support larger terminals automatically
Minor Tweaks: Support larger terminals automatically

Make sure Terrain width/height are uneven
Readded windows viewport options
Spelling fix: Taekwondo
Merge remote-tracking branch 'upstream/master'