Reorganize native functions

The natives.cpp file was getting too large, so I decided to split all of
the native functions up into separate files.