Split the splitter function to a separate module.
Don't rely on xml package.

It blows up the browserified version too much (pulls too much
node-specific deps).
Distribution generation.
Remove unnecessary allocation.
First version to include browserified version.