Squashed file permission fixes for "adb push"

adb: configure /system file permission with fs_config

adbd changes the permissions of files uploaded by copying
owner's permission to group and other. This causes kernel
load failure if any changes are made to kernel modules
followed by ``adb push'' or ``adb sync'' because file mode
644 would become 666.

The change uses fs_config to get the target mode of files.

In addition, the SELinux file label is set incorrectly
on synced files. Set the label properly.

Signed-off-by: Liang Cheng <licheng@nvidia.com>
Bug: 12264775

Fix "adb push /sdcard/filename"

Don't assume that calling chown(filename, getuid(), getgid())
will always succeed. In the case of /sdcard, a file you create
will be owned by root, so the chown call will fail.

Instead, use uid=gid=-1 so that the chown call is truly a no-op.

Ignore the results of calling chmod. Again, for /sdcard, the
chmod call will never succeed, because the file isn't owned by
the shell user.

Bug: 12441485
Change-Id: I43ad63b86ad62d58847718f5220204f3ec07392d
ueventd.rc: Change owner of graphics drivers to system

iWifi Display service needs permission to open these drivers.

Change-Id: I1d9e4ae372f09ecf4104888a9910d09903d892d1
(cherry picked from commit f087420bf5eada3017e107a3a8da4e74f683da18)
(cherry picked from commit 1b3f9226cd3ad681a0ef08038d874921ca62ee4c)
(cherry picked from commit 5b4becc1b814b0f9e96d4f3aaec380d74f4b0739)