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
PSR4 violation, needs to be in separate file.
I'd also make this class `final class`