Records every call as an Action and lets tests program hierarchy, screenshot, health, and per-method failures. Actions() returns a copy so test code can't mutate the driver's history.
Mirrors proto/driverpb/driver.proto: Launch, Terminate, Tap, InputText, Hierarchy, Screenshot, WaitForIdle, Health. Keeps Image/Health as dedicated structs so callers don't depend on generated proto types.