MediaRouter: Create BluetoothRouteProvider for each user

The bluetooth service manages the active device for each user
and sent broadcast for each user.

BluetoothRouteProvider was singleton and listened broadcast
from the owner (uid=0) only , which failed to catch correct events when
the foreground user is not the owner.

This CL fixes that by creating BluetoothRouteProvider per user and
listening to the events of each user.

Bug: 162541640
Test: manually open the output switcher and check bluetooth state with switching users
and run cts

Change-Id: Iabab6f7830ce0224b7f73a7c5cfb863aebf5562b
(cherry picked from commit 715b6488aeaa99b9949532d8a4608c3576f853f4)
3 files changed