add support for N dimensional data workgroup sizes to high level API

Pretty much what it sounds. Now the hl API takes a vector of workgroup sizes.