Support reading vendor categories from file instead of HAL

There are three types of categories in atrace.cpp now:
* The builtin categories (not affected by this change).
* The new vendor categories read from the file. They're discoved at
  runtime, but they behave like the builtin categories (they're enabled
  by writing to tracefs).
* The old HAL categories. They're listed, enabled and disabled by
  calling the HAL. They are not discovered at all now if the vendor file
  is there.

Tested on a device with a vendor file, by listing categories and making
sure that enabling them has the expected effect on tracefs.

Bug: 204935495
Change-Id: I3117c42a005aca0b736c538a274b0d76887cb706
2 files changed