QResourcesManager: Added dynamic ArrayAllocation policy

Startup memory usage is now 10% of what it was before.
Unit tests corrected and benchmarks added.

Benchmarks:
DynamicArrayPolicy
QResourcesManager

Change-Id: Idaeedba5156ac2d6a0a494e7399d9dcb141dc81c
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
Optimize ArrayPreallocationPolicy.

The tricks applied are identical to those done previously for
ArrayAllocationPolicy:

We remove the obsolete hash for the index mapping and instead use
pointer differences directly, which is much faster and reduces
the memory consumption.

Some variables are also renamed to better reflect common allocator
nomenclature.

The added benchmark shows a reduction of the instruction count
by a factor of about 10.

Change-Id: Icabc354ab9e1e8ea0b1dc83c71a2f2cfe49d1da0
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>