Add native spatial filtering to PostGIS backend

Since issue #3800 is now open for over 2 years I would like to propose a new solution based on the old patch given here: http://trac.osgeo.org/mapserver/attachment/ticket/3800/NativeSpatialFilter_PostGIS.patch

This patch let the PostGIS backend parse all spatial filters (given by the WFS request) to a PostGIS SQL statement which will then be applied in the where clause.

Therefore FLTApplyPlainFilterToLayer will not be called for PostGIS anymore. Instead FLTApplySimpleSQLFilter and a parse function for all spatial nodes will be used (see function FLTGetSQLExpression).

To achieve this and at the same time preserve the behaviour of all other layer types, two additional vtable functions had to be added.
So other backends (like Oracle, SDE, ...) are able to implement there spatial node parsing too (as far as possible).

This gives us a huge improvement in performance for large data sets:
Instead of getting all shapes within a bbox and then let GEOS filter them, we are now able to let the backend decide whether a filter can be applied natively in SQL statements.