add mem and cpu profiling options
minimize allocations in splitSpaces

This removes ~18% of the memory allocations on my machine, and seems
close to optimal.
import atoi from strconv
use forked ParseUunt which doesn't require allocating a string
splitSpaces: check if byte == ' ' directly
don't track shared mem
procMem: don't allocate a string just to check the type