android: Support creating sync fence from drm fences

Add support for creating a sync_fence directly from an array of
struct fence objects.  This will allow drm drivers to create sync_fence
objects and pass sync FDs between user space with minimal modifications,
without ever creating sync_timeline or sync_pt objects, and without
implementing the sync_timeline_ops interface.

Modify the sync driver debug code to not assume that every 'struct fence'
(that is associated with a 'struct sync_fence') is embedded within a
'struct sync_pt'.