Changes to GMP::F#atan2

Fixes a couple of issues I found using atan2.  Firstly, swap the self/argument order so that they match the normal order of maths libraries, ie:
````
  GMP::F(y).atan2(x)
````
should be the same as plain ruby
````
  Math.atan2(y, x)
````
Secondly, atan2 gives an error "Expected GMP::F or Float" if you give it a float which seems a bit odd so I added code to allow a float argument.