add additional checks before kernel work submissions

* will round up to nearest multiple of local size to cover all of global size
* will check whether total local workgroup size is within context's capability and not issue command but error if not.

Signed-off-by: tgfrerer <tim@poniesandlight.co.uk>