RWA- Anagrams

- Tutorial from
http://www.raywenderlich.com/33804/how-to-make-a-letterword-game-with-ui
kit-part-1
- Adding image and sound assets downloaded from tutorial website.
RWA- Level Config Class & Model Class to parse it

- Added level1.plist so it contains 3 top-level keys:
  * pointsPerTile: the points awarded for each correctly-placed tile.
  * timeToSolve: The number of seconds the player will have to solve
the puzzle.
  * anagrams: A list of anagrams, each anagram containing two items, an
initial and a final phrase.
- Added model class RWALevel to parse these properties and method to
create instances based on these properties.
RWA- Add Controller Class to manage game logic
RWA- Dealing new letter tiles on screen

- Added new TileView (UIView) that will hold info for a particular tile
(i.e. letter and whether it’s been used)
- Switched app to landscape mode only (hence SCREEN_* constants in .pch
file are swapped around)
- GameController now determines proper placement for how many tiles
needed for an anagram
RWA- Improvements after testing - cater for spaces

- Added anagram with a space in for testing display layout, need to not
put down a tile if the letter is a space (although the user will see a
gap in the layout of the tiles for where spaces are meant to be.)
- Removing some debug output and adding others
- Added animation to stagger appearance of tiles on stage
RWA- Ensure use of custom initialization method

Since we have provided a custom initialization method, make sure we
don’t ever call initWithFrame: etc by using an NSAssert that will fail
every single time. This means there is less of a chance that you will
ever create a tile that isn’t properly initialized.

In such a small app, this is just a way to protect yourself from
yourself. But in a larger app, or when working as part of a team, this
sort of precaution can help reduce errors by keeping anyone from
calling these methods.
RWA- Randomly Rotate Letter Tiles to make Messy
RWA- Add letters to tiles

- Also change some comments
RWA- Add target views - v similar to tile views
RWA- Enable dragging of tiles
RWA- Game Controller delegate of all Tiles

Updating Tile class to define a delegate protocol. The GameController
becomes the delegate for all tiles, so that when they are dragged, it
can check to see if the tile is near a Target - and whether it’s a good
/ bad match.
RWA- Add custom font

- Renamed local variable yOffset to prevent masking warning.
RWA- Add StopWatch HUD heads-up-display

- Add custom label that displays the remaining time in the mm:ss format.
RWA- No functional change
RWA- Disable touch handling in the HUDView

Since the HUD layer is on top of everything, it swallows all touches.
Need to turn off the user’s interaction with the HUD layer, thus
allowing them to touch the tiles in the underlying game objects layer.
RWA- Adding a Level Timer StopWatch