Add componentGroups, which allow multiple components to overlap.

Add unit testing for componentGroups.
Had to make some minor changes to component.ts (make xOffset, yOffset public not private).
Added some helper functions to testUtils.