Allow runtime extension of performance vector

It was not possible to extend plans at runtime,
thus we add the ability to add tasks at runtime
and expand the performance vector accordingly only
with pointers, ensuring that resizing the performance
vector won't result in moving memory around.

Merges #90