SkTLazy constructors to require constructable.
SkTLazy constructors to require constructable.

The current SkTLazy copy and move constructors require copy or move
assignable instead of copy or move constructable. This prevents use with
classes with const members (since they cannot be assigned to after
construction). This change also brings SkTLazy more in line with
std::optional which will eventually take over most of what SkTLazy is used
for.

Change-Id: I7bad4edac6a8b3e8adeebc48400d7298a970ed31
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/204447
Reviewed-by: Mike Klein <14574f09dfa9b4e14759b88c3426a495a0e627b0@google.com>
Commit-Queue: Ben Wagner <53965154ffeecc4a10886eab9259e95965f2979a@google.com>

rubenvb/skia,HalCanary/skia-hc,aosp-mirror/platform_external_skia,aosp-mirror/platform_external_skia,aosp-mirror/platform_external_skia,google/skia,google/skia,HalCanary/skia-hc,rubenvb/skia,google/skia,google/skia,rubenvb/skia,rubenvb/skia,rubenvb/skia,aosp-mirror/platform_external_skia,google/skia,HalCanary/skia-hc,aosp-mirror/platform_external_skia,aosp-mirror/platform_external_skia,HalCanary/skia-hc,aosp-mirror/platform_external_skia,HalCanary/skia-hc,aosp-mirror/platform_external_skia,HalCanary/skia-hc,aosp-mirror/platform_external_skia,aosp-mirror/platform_external_skia,rubenvb/skia,HalCanary/skia-hc,HalCanary/skia-hc,rubenvb/skia,rubenvb/skia,HalCanary/skia-hc,google/skia,rubenvb/skia,google/skia,google/skia,google/skia,google/skia,HalCanary/skia-hc,rubenvb/skia