changed word to opponents_word and added hidden_word, for 2p support
broke displayAlphabet into its own silo
refactored base_singleplayer so the template actually renders the html and business_logic truly only returns the correct data. outstanding issues: history letters are oddly spaced; alphabet's right margin disappeared.