Haxe doesn't support directly overloading +=, -= operators and will create a
new object. (issue #2)
Removed the operator overloads for all +=, -= (surprised they didn't fail
at compile time, but apparently the compiler doesn't care for the most
part what you put in
the @:op macro, e.g. --*).
Refactored all +, - operators to call addWith, subtractWith and cut down
on repetition.
Fixed a (some what major) bug where addWith, subtractWith were returning
the rhs instead of the lhs. The code was never hit before due to the issue
mentioned above.