[FEATURE] Port new memory layer plugin to core

This is a port of the New Memory Layer plugin to core, since it's such a useful feature. It's basically a direct port, I've just added options for creating multi-* layers and selection of layer CRS during creation.

I've included the icon created for the New Memory Layer plugin - I assume this is OK but I could not find explicit licensing information for the plugin (are all plugins GPLv2+ compatible?)