This patch changes the point storage to floats. The changes are limited to GP only. Not touched ED_ or BLI_ functions. This does mean that there are quite a few casts but from my limited testing I've not had any issues so far.
@Antonio Vazquez (antoniov) If you could take a look that would be appreciated. I won't be around until tomorrow to follow up.
The changes look good in general, only review that you calc the integer conversion only once and try to use only one variable definition. Really, this is not an issue running the code, but makes it more clear.
Maybe you could calc mval_i at the begining of the function.