Utility functions for working with 2D geometry degrees, vectors, and constants.

Most Python libraries (such as the math module) expect angles to be specified
in radians. While this is a good convention, new students may have trouble using
radians, so this module provides degree-accepting variants of the standard trig
functions, as well as a utility to convert between radians and degrees.

Students often also represent 2D vectors by their components, so we also provide
conversions to vector magnitude and vector angle.

The mathematical constants PI and E are also exported so that students
don’t have to import the separate math module for those constants.

With all of these functions, the numerical precision is only as accurate as that
provided by the underlying math module.

The angle is measured counterclockwise from the positive x-axis, as is standard.

This function accounts for the fact that, in our graphical coordinate system,
the y-axis is flipped (with respect to the traditional Cartesian plane). That
is, in the graphical coordinate system, the y-coordinate of a point increases
as that point descends on the screen.