Ticket #5272 - Avoid unnecesary memory allocations in OGR shapefile provider

This pull request implements a shared memory buffer in OGRShapeLayer in order to avoid each individual heap allocations of each temporal SHPObject readed.

Until now, N objects readed allocates N XYZM temporal coordinates array. Now, it uses a memory buffer shared between the N reading requests. 

In the most favorable case, N records (e.g. geometry points) executes only one heap allocation.
This patch improves the heap management and speed up the data reading.