Lots of changes, mainly n-gons

I've added the following:
* A second page for shape choices
* Hexagons: on the second page, builds regular hexagons
* Octagons: on the second page, also regular
* Hexagonal Prisms: on the second page, like cylinders but with hexagons
* Octagonal Prisms: on the second page, like cylinders but with octagons
* `goHome()`: moves the turtle to 0,0,0 and makes it face 0
* `turnToFace()`: rotates the turtle to face the direction passed as an argument

-----

I've changed:
* Moved the sphere to page 2 because it was where I put "next" on page 1
* Replaced all things that do the same as `goHome()` with `goHome()`
* Put `goHome()` in the if statements  in `Choicefunct()` and removed them from the shape building
* Made `navigateTo()` take x,y,z coordinates, if only x,y is given z defaults to the turtle's current z position
* Changed the code in `moveZ()` to be similar to `moveX()`, `moveY()`
* `safeUp()` and `safeDown()` now increment/decrement positionz to facilitate `navigateTo(x,y,z)`'s vertical component

-----

I hope you don't mind me messing with `moveZ()` :sweat: but I thought that I might as well. I'm pretty sure it shouldn't change anything as it currently works because of the default z value in `navigateTo()`.