Allow SkUserConfig.h to override SkAttributes.h

The header SkAttributes.h defines a number of attributes that Skia uses
as C++ language extensions for various purposes. All of these attributes
are only defined in SkAttributes.h if they are not already defined. Both
the build and SkUserConfig.h should be allowed to define these
attributes as the user sees fit (without first needing to undefine
them). To allow SkUserConfig.h to define these attributes, move the
include of SkAttributes.h to after the include of SkUserConfig.h in
SkTypes.h. This restores the behavior proior to "[base] Split SkTypes.h
logic out into smaller files" 8f5410688.

While doing this, also pull the other attributes SK_PRINTF_LIKE and a
new SK_NO_SANITIZE attibute into SkAttributes.h and document all of
these in the "empty" SkUserConfig.h.

Change-Id: I5c7167c58c1ffa58493d44fa8ba8ba8b1903d147
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/630410
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
8 files changed