refactor SkArenaAlloc footers

  Store packing in a separate byte; we can't use the upper
  pointer bits like this these days.

  Simple refactoring of how footers are installed and read,
  adding installRaw(const T&) and using it to implement the
  rest.  Footer still exists as a layout reminder, and to
  answer sizeof(Footer), but it's all memcpy() in and out.

Bug: skia:10663
Change-Id: I7e55a005e4f6ce11d48e827cca9edf9e517bc620
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/313066
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>
2 files changed