Working on fixing imports for Python3

This fixes many of the old-style relative imports that were left
within the code.  These imports are not valid in Python3, and have
been replaced by absolute imports as well as new-style relative
imports.  The incorrect imports were replaced by absolute imports,
as they are the most consistent and are unlikely to change in the
future.

In a few cases, module were moved and needed to be imported with
an alias to maintain backwards compatibility.  We should consider
moving these imports into a `compat` file, to make it easier to
fix these imports across the entire application.
Fixed print statement

There was one print statement left to be converted to the print
function.

This also fixes the header for the binary to point to Python2
(or the system default) instead of Python3.
Reset hashbang on the resulting binary
More work on Py3 compatibility

OpenCV 3 is required to use Python3 with OpenCV.  This must be
compiled from the source for now, and more information as to how
to do that will come later.

OpenCV 3 removes the `cv2.cv` and `cv` compatibility modules,
leaving just `cv2` to be used.  A few imports in `_ocv.py` had to
be reworked to account for this, but the impact for that was
minimal.

Python 3 removes implicit relative imports, which were being used
by the scripts loader.  In order to fix this, a few breaking
changes had to be made, specifically involving the loader and the
function to retrieve all possible scripts.

The loader had to be reworked to take in either a full path to the
module, or the individual script name (in order to maintain
backwards compatibility).  This required modifying the `__import__`
statement to correctly load the specific module when given a full
path.

The function to get the scripts list was refactored to make it
easier to read and understand.  It also now returns the full path
to the script, instead of the script name which it previously
returned.  The module name is grabbed from the current file, which
requires the loaders to remain in the `__init__.py` file.  Moving
them out of the file will require minimal adjustment to how the
current module is grabbed and should not be a problem in the
future.
Fixed color key changes in OpenCV 3

In OpenCV 2, the keys for the color dictionary are prefixed with
`cv_`.  This prefix was changed to `color_` in OpenCV 3, which
means we now have to test for both of them.
Fixed race condition

This fixes a race condition that was caused by the set of point
objects not being populated before the set of current points
was populated.  In order to fix this, there is a check at the
beginning to ensure that the point exists.

This also makes the code that handles displaying the points
clearer, so it is easier to understand how the coordinates are
extracted.
Adding points no longer uses legacy bindings
Document some of the point internals

This adds a bit of documentation to where the previous set of
points are updated with the new values.  It also documents a
known race condition is being worked around.
Document what the `color` function actually does

This documents the arguments used for converting the color mode
of the internal image along with the different outputs from the
function.
Fully document how scripts are deteected and imported

This full documents how scripts are detected from the current
directory and imported.  It is also noted how the scripts can be
imported from the individual script name to ensure backwards
compatibility.