From HackMD plan: manual, stress, web_platform, documentation, and some validation (#364)

* From HackMD: manual, stress, web_platform, and documentation

* and a few validation tests (the "weird" ones)

* address comments

* add "TODO:" to description for unimplemented tests

* restructure state tests, add error monad test dir
diff --git a/src/webgpu/examples.spec.ts b/src/webgpu/examples.spec.ts
index 4db0d70..9062b32 100644
--- a/src/webgpu/examples.spec.ts
+++ b/src/webgpu/examples.spec.ts
@@ -116,6 +116,10 @@
 // One of the following two tests should be skipped on most platforms.
 
 g.test('gpu,with_texture_compression,bc')
+  .desc(
+    `Example of a test using a device descriptor.
+Tests that a BC format passes validation iff the feature is enabled.`
+  )
   .params(pbool('textureCompressionBC'))
   .fn(async t => {
     const { textureCompressionBC } = t.params;
@@ -139,6 +143,11 @@
   });
 
 g.test('gpu,with_texture_compression,etc')
+  .desc(
+    `Example of a test using a device descriptor.
+
+TODO: Test that an ETC format passes validation iff the feature is enabled.`
+  )
   .params(pbool('textureCompressionETC'))
   .fn(async t => {
     const { textureCompressionETC } = t.params;
@@ -149,6 +158,5 @@
       });
     }
 
-    t.device;
     // TODO: Should actually test createTexture with an ETC format here.
   });