Tile Engine

Implement the composite tiles algorithm. The algorithm can be simplified as follows:

Pick a tile from the composite tile. Find all possible places for that tile. Then match the other tiles for every possible location of the picked tile. So there is no need to find possible places for the other tiles