Created RotaryKnob

At present, the knob is not working correctly, as it starts at zero
degrees ("3 o'clock") and draws clockwise.
onTouchEvent calls super.
Revert "onTouchEvent calls super."

This reverts commit f1f3f0f9f46f50513a60d0ee9f4861c1053e047e.
Improved angle math.

FIRST, you must subtract the start angle from theta (the raw atan of
delta-x and delta-y).  Only after you have done this should you convert
to a positive angle(by subtracting from 360 if negative).
Cleaned up code.

Removed log messages, unnecessary comments, "frame marks" in onDraw.
Knob now rotates image as well.

RotaryKnob extends ImageView, so that users may use an image of a rotary
knob. The onDraw method now rotates the canvas (also rotating the
image), as well as drawing the arc behind the image.
Added getters and setters; minor improvements

Getters and setters added for all appropriate values. Also improved
onSizeChanged to account for stroke width of paint object (so it isn't
clipped for large stroke values).
Removed commented code.
Made knob abstract.

In this way, different subclasses can be different types of knobs:
rotary knobs, centered (panned) knobs, continuous rotary knobs, etc.
Finished separating concrete and abstract knobs.

AbsKnob is now a bona fide abstract base class. The concrete subclass is
RotaryKnob. Next up is to do a knob that is centered (like a pan knob).
Created an intermediate class for sweeped knobs.

This class handles knobs with sweep: the number of degrees of motion it
has, centered at 12 o'clock. (The equivalent of the total mechanical
travel in a potentiometer.)  Both rotary knobs and center-tapped knobs
are of this type; continuously rotating knobs are not.

Also refactored some code, so that the methods are in the proper order,
and corrected the relevant JavaDoc.
Modified MainActivity

The AbsKnob class now loads an image by default; no need to set the
image in MainActivity.
Removed unnecessary call in RotaryKnob

setSweepRange is no handles by the AbsSweepedKnob class; no need to
invoke it in RotaryKnob.
Created constant for default sweep range
Fixed angle calculations

The angle calculations were way off. I did not catch it because the
default sweep angle was the same as the "zero degree" offset between 3
o'clock and 12 o'clock. (Both are 270.)

Man, am I bad at trigonometry.
Changed int progress to float level

In "real" applications, knobs are going to be used for things like
volume and pan, which should have float values associated with them.

The "progress" field was only implemented because I was trying to
imitate a SeekBar. I no longer thing this is a good idea.
Refactoring

Any knob with max and min values cannot be continuous, so I am
refactoring out the abstract classes.
Deleted AbsKnob

It is now just Knob; it is no longer abstract.
Deleted RotaryKnob
Deleted AbsSweepedKnob