Add support for single precision Numbers in PlayScript

This introduces a new attribute, NumberIsFloat, which provides a mechanism to use single precision floats instead of of doubles for the PlayScript Number type. This is a class level attribute that is applied recursively - everything from fields, constants, method parameters and return values are converted to floats.