Scripting: Static extender functions

Scripting support for defining an extender function that exists as a
static method on an object. Syntax is as follows:
Module
```
function AbsInt(static Maths, int value)
{
Maths.Sin();
if(value < 0)
value = 0 - value;

return(value);
}
```
Header
```
import function AbsInt(static Maths, int value);
```
The function can then be called as a static method, e.g.
`Maths.AbsInt(-3)`.