Move SkHalf and SkVx to src/base

There are no other uses in include/ and SkHalf feels like it
fits in base reasonably well.

This also breaks the link between SkColorData.h and SkVx.h which
is a large contributor (294 MB, 0.1%) to Chrome's build size
according to go/chrome-includes [1]. The skvx usage from
SkColorData.h was moved to SkSwizzlePriv.h (SkColorPriv having
been taken), which is in src and only used by .cpp files.

In breaking the link, it was discovered that KeyHelpers.h
used the skvx::float4 data type, but it seemed to only be a
convenient way to hold 4 floats before writing them to
the PipelineDataGatherer (and subsequently the UniformManager).
kjlubick@ thinks it is a bad idea to have SkVX be in headers
(as this was the cause of the large Chrome build), so the
type was changed to SkV4 and plumbed through.

[1] https://commondatastorage.googleapis.com/chromium-browser-clang/chrome_includes_2023-01-31_154801.html#view=edges&filter=&sort=asize&reverse=&includer=&included=third_party%2Fskia&limit=1000

Change-Id: I7813ed2dc2e51f8361890d968681734a1855b4ba
Bug: skia:13052, skia:13983
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/635796
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Michael Ludwig <michaelludwig@google.com>
94 files changed