TODO:
- functions to get surrounding ships
- make it playable (left/right click functions)
- add support for pre-existing ships
- make setShip accept playtypes as well as ship objects
- make graphical types auto-compute
- add testing for pinned ships
- make an automatic solver
- make the styling automatically adjust for the width and heigh of the board
- make a solvable board generator with with options for difficulty and guess and check
- add styling to webpage
- make jsdoc more consistent (eg. dashes after param names, capitalization)
- add dev documentation
more specific things
- make position arrays start at 0 instead of 1
- name "uni/bi-directional" variables as "cardinal" and "orthognol" (or however it's spelled)
- store runs as 2 dimensional arrays where inner arrays = all indexes of squares in that run instead of just storing the start, end, and length of each run.
- add testing for execution time