Added abstract tile class
Tiles are now created dynamically, need to work around using nested
weights.
Embarrassingly terrible weights workaround
xml layout is more better