Create a kernel from an 2d matrix of values. Each value should either be a float
   (if the element should be used) or 'false' if the element should be skipped. For
   matrices that are odd sizes in both dimensions the origin pixel will default
   to the centre of the kernel. For all other kernel sizes the origin pixel must be specified.