Use non-branching Montgomery ladder for point multiplication

Big thanks to @isislovecruft and @conradoplg for their advices (see #16)

@btcdrak @petertodd Gonna need a thorough review of this (build passes, except HHVM, but that's due to a missing function in their GMP implementation) -- the more reviewers, the merrier
Agreed on final, but I beg to differ on the PSR4 violation for two reasons:

* This class is reserved for use by Point. The fact that it is not autoloadable helps enforce it.
* PSR4 only requires a one-to-one mapping between files and **autoloadable** classes. This one is not meant to be autoloadable.

If you point me at the spec item that says every class MUST be in its own file, I will gladly move the class to its own file. In addition, please see this [SO question](http://stackoverflow.com/questions/360643/is-it-a-bad-practice-to-have-multiple-classes-in-the-same-file).