added class Point; field refactoring
added class Line; emptyRing is now a "ring type" class;
added rotate methods for Point and Line
added some decorations to EmptyRing so that the rotation is visible;

Rings should have the following methods:
rotate - rotates the ring to a given angle;
rescale - scales the ring according to the new radius value and calls rotate()
translate - called upon player interaction - redrawing the tunnel in a different perspective
draw, collisionCheck - self-explanatory.

added draw method to Line;
Ring now handles rotation logic - rotation, scaling(changes in radius) and translation(changes in center position) logic should be handled by Ring and delegated down to the type object;
Ring angle value checks added
Ring - added equal possibility for counter-clockwise rotation; auto-format;
moved ring types to Rings.js
added RectangleRingSingle ring type;
ratios as constants in ring types;
increased ring lifespan x3; auto-format;
added reverseRectangle class;
moved Point Line and ReverseRectangle to file "Primitives.js";
simplified Line.draw();
added new state-of-the-art ring type - DoorLockRing; modification of the Point.rotate method - fixed to pass radians instead of degrees;
minor refactoring;
added FanRing ring type;
minor clean-up;
added HalfRing ring type; refactored ring type picking;
added HoleRing; this ring type is customizable through it's last 3 parameters;
minor refactoring; slowed ring spawn rate twice;