Fix SLD PerpendicularOffset for lines and labels

From the mapserver-users mailing list:

```
Hi all,

I've noticed that there's an implementation difference between
specifying a perpendicular offset in the STYLE section of the Mapfile:

  STYLE
    ...
    OFFSET 3 -99
    ...
  END

and specifying it via an SLD:

  <sld:LineSymbolizer>
    ...
    <sld:PerpendicularOffset>3</sld:PerpendicularOffset>
    ...
  <sld:LineSymbolizer>


The first one, via the Mapfile, does a complex offset calculation
(function msOffsetPolyline() in maputil.c; calls msOffsetCurve() for
perpendicular offset).
The second one, via the SLD, simply does a displacement by the given
value in both the X and Y directions (function msSLDParseLineSymbolizer()
in mapogcsld.c).
These two produce quite different results.
[Note that the SLD one would be the same as specifying "OFFSET 3 3" in
the Mapfile.]

My questions:
Is there a reason the two methods are different?
If not, would it be possible to change the SLD one to use the same
calculations as done for the Mapfile?
```