SkTArray: more mem-movable types

Tag more types as mem-movable.

Update the default trait implementation to allow classes to opt-in
using a sk_is_trivially_relocatable type alias.

Incidentally, this also reduces the binary size by ~2.5K, but the real
gains will come from uninlining parts of SkTArray:

    FILE SIZE        VM SIZE
 --------------  --------------
  +0.3% +5.50Ki  [ = ]       0    [section .debug_ranges]
   +65% +2.47Ki  [ = ]       0    [Unmapped]
  [NEW]    +335  [NEW]    +124    _ZSt11make_uniqueIN4SkSL5BlockEJRNS0_8PositionE9SkSTArrayILi2ESt10unique_ptrINS0_9StatementESt14default_deleteIS6_EELb1EERNS1_4KindEDnEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_
  +0.0%    +176  [ = ]       0    [section .debug_abbrev]
  -0.0%     -26  +0.4%    +169    [7 Others]
   +20%    +155   +24%    +155    (anonymous namespace)::MeshOp::onCombineIfPossible()
  +3.8%    +138  +6.2%    +138    SkTArray<>::operator=()
  [NEW]    +135  [NEW]      +8    _ZZN5skgpu2v114SurfaceContext4copyE5sk_spI14GrSurfaceProxyE7SkIRect8SkIPointE29trace_event_unique_atomic1052.0
  [DEL]    -127  [DEL]     -68    (anonymous namespace)::ShapedRun::ShapedRun()
  [DEL]    -135  [DEL]      -8    _ZZN5skgpu2v114SurfaceContext4copyE5sk_spI14GrSurfaceProxyE7SkIRect8SkIPointE29trace_event_unique_atomic1049.0
  -1.5%    -152  -1.0%     -34    SkTArray<>::push_back()
  [DEL]    -184  [DEL]    -123    (anonymous namespace)::MeshOp::Mesh::Mesh()
  -1.2%    -190  -1.0%     -70    SkTArray<>::push_back_raw()
  -1.5%    -191  -1.6%     -84    SkTArray<>::~SkTArray()
  -0.0%    -327  [ = ]       0    [section .debug_loc]
  [DEL]    -335  [DEL]    -124    _ZSt11make_uniqueIN4SkSL5BlockEJRNS0_8PositionE9SkSTArrayILi2ESt10unique_ptrINS0_9StatementESt14default_deleteIS6_EELb0EERNS1_4KindEDnEENSt8__detail9_MakeUniqIT_E15__single_objectEDpOT0_
  -0.0% -2.17Ki  [ = ]       0    [section .debug_line]
 -61.7% -3.39Ki -62.3% -1.39Ki    SkTArray<>::move<>()
  -0.0% -5.23Ki  [ = ]       0    [section .debug_str]
  -0.0% -5.92Ki  [ = ]       0    [section .debug_info]
  -0.0% -10.6Ki  -0.0% -2.47Ki    TOTAL



Bug: skia:13657
Change-Id: I447427e3c644d1d2f046019d2561edc6cc7272c2
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/587356
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Florin Malita <fmalita@google.com>
24 files changed