Adds a CoreServices::getScreenInfo() which fetches screen width, height and refresh rate in a cross-platform way. If a Core object is given (0,0) as the screen coordinates in its constructor and also full screen mode is chosen, use getScreenInfo() to set the screen to the current resolution exactly.

Uses (with permission) Average Software's screen interrogation routines for Mac, Linux and Windows.

I have tested this code for Mac, but not Windows, Linux or any other platform.
Merge getScreenInfo changes with upstream
Lua bindings for getScreenInfo changes
CoreServices::getScreenInfo, Linux version fix: remove hard-to-compile gdk dependency; assume Linux is using SDL and jump straight to that solution.
CoreServices::getScreenInfo, Windows version compile fix: Remove C++-incompatible C idiom
Make Polycode buildable with mingw crosscompiler -- large patch comprising changes up to 6171487c3a07 in mcclure fork
Correct merge error from 185c6d4b99c5
Fix last-minute bugs ironically introduced by cleaning up for pull request
Install new PolyGLHeaders.h, fix Mac template build
On Windows WM_CLOSE, call DefWindowProc after shuttong down core
Repeated calls to Mesh::clearMesh() crash, fix that
Check String inputs for NULL, so that passing in a NULL c string results in an empty string and not a crash
Material manager 'reload programs' reloads programs (shaders) but not shaders (programs), meaning materials don't actually change after a reload. Fix that. Add a 'grab all resources of type' feature to ResourceManager to support this.
Add methods so that shader binding params can be used with Lua
Updated MD5sums and package numbers for png and zlib. Builds on Linux now.
Fixed makefile to look for libopenal.so. Fixed several particle constructors. Linux examples build now.
Fix Windows build broken by 4fc918057f2f
Fixed VPLANE primitive, minor tweaks (forgot exactly what)
Merge pull request #100 from qpfiffer/master

Linux Build
libpng URL fixes and 32-bit build support for Mac