Completely refactored CompetitorGrid.js
- Made CompetitorGrid a proper class with a constructor, properties, and
  methods
- Fixed readability issues by using self instead of _this for
  maintaining scope in the class
- Changed sorters to be a dictionary of methods with keys corresponding
  to the data-sortkey property on headings in index.html
- Added minRows property for declaring the minimum grid size
- Added container property for the grid (and made all relevant elements
  have classes based off of this container instead of having unique id
  attributes for each of them)
- Modified index.html and ambition-all.css to coincide with these
  changes