Added ability to specify spatial pooler implementation (python or c++)