WebGPU: clean up CMake code
Lots of little things, but they add up. Overview:
- clean up CMake options to fit the existing patterns
- make definitions more private
- stop publicizing internal definitions where possible
- provide imported targets from
FindDawn