Moved Operator definitions into their own class.

Operators.java now contains all the Operator definitions which were in a static block at the top of Operator.java.
Operator.java now contains the default implementations for all the Operator methods.
OperatorSpec.java has been removed.
As this commit represents a large migration of code, Git has chosen to interpret it as a renaming of OperatorSpec to Operator and a renaming of Operator to Operators.
Some other files (Expression, MainWindow, OperatorExpression, SubstitutionCellRenderer, SubstitutionSelectionDialog) have been changed to use the new Operators.named(String) method.
Merge branch 'untangled-operators'

Conflicts:
	src/Expression.java
	src/Operator.java
	src/OperatorExpression.java
	src/OperatorSpec.java
	src/SubstitutionCellRenderer.java
	src/SubstitutionSelectionDialog.java
clean up problems introduced by merge
removed unused imports and made other errors go away (shouldn't change any functionality)
statements now check existence of geometry dependencies
all statement creations I could find now track dependencies
Add <, >, <=, and >= operators
Improve formatting for LaTeX output

Mostly, all the text is now wrapped in \text{ ... }, so that everything
isn't italicized and the spacing works like it should.
Lines, rays, and circles now use their operators

Each Drawable can now produce an expression to represent itself. The
line-on, ray-on, and circle-on operators have been consolidated into the
on operator, and the circle-center and ray-endpoint operators have been
renamed to center and endpoint, respectively. Each place where the
SketchCanvas creates a new line, ray, or circle has been changed. One
theorem which used the affected operators has been changed.
Merge pull request #18 from poser3/statement-dependencies

Statement dependencies
Merge remote-tracking branch 'origin/line-ray-circle-consistency'

Conflicts:
	src/SketchCanvas.java
Add a boatload of @Override annotations
Fix a ClassCastException (ArrayList -> Drawables)
Merge branch 'master' into selectable-subexpressions

Conflicts:
	src/Expression.java
	src/ExpressionListCellRenderer.java
	src/ExpressionSelectionDialog.java
	src/MainWindow.java
	src/Operator.java
	src/OperatorExpression.java
	src/OperatorSpec.java
	src/Operators.java
	src/PCircle.java
	src/PLine.java
	src/PPoint.java
	src/PRay.java
	src/PSegment.java
	src/SketchCanvas.java
	src/Statement.java
	src/VariableExpression.java
Post-merge Cleanup

Image files have been moved from ./src/res/ to ./res/images/. The
location of the image files can be configured in the settings file
(./settings.txt).