improved seat positioning

now we just use the grid everywhere
positions are measured in cells
refactored a lot of css and js merging some code into global files