Remove references to non-existent strings.

settings_username_title and settings_password_title were removed when
server_address_dialog was refactored, but they were still referenced here.

Remove the TextViews, and replace with hints in the EditText views.
Make it obvious that the CLI port can be specified with the server address.

If the user does not explicitly provide a port then add the default port
when the dialog is closed, so it will be displayed in the UI.

Include the port explicitly for any servers found through discovery.
Use a marquee effect for long strings of track info.

The previous code would wrap long track/album/artist information on to
multiple lines when showing "Now Playing" info.  This could cause the size
of the displayed album artwork to shrink/grow depending on available space,
and was visually jarring.

Force the TextViews to be a single line high, and use the "marquee" effect
to scroll items of text.
Remove unnecessary semi-colons.
Support volume control without needing the hardware buttons.

The user can trigger the appearance of the volume panel from a menu or
from the hardware buttons.  When triggered, the volume level is indicated
by a seekbar in a volume panel, which the user can drag to set the desired
volume.  After a period of inactivity the volume panel automatically
dismisses itself and fades from view.

The previous version of this code used a Toast with a custom view to act
as the volume panel.  That doesn't work with a SeekBar, as the user cannot
interact with any controls on the Toast.  Therefore, replace the Toast
with a Dialog themed to look similar to a Toast, and with similar automatic
dismiss behaviour.

Since the user can now set the volume level directly (by dragging the
SeekBar) and trigger the appearance of the volume panel without changing
the volume level (by selecting the menu item) add a method to the service
to set the volume to a specific level, and track the current per-player
volume in SqueezerPlayerState.

The creation of the volume panel has moved from the service to the
NowPlayingFragment.  As a Toast the service could show the panel, but
services are not permitted to show dialogs.  Accordingly, have the fragment
register the menu item to display the volume panel.  In addition, it needs
to show the panel whenever the volume changes, so provide an interface,
IServiceVolumeCallback, and a mechanism it can use to register callbacks
to listen for volume changes and display the panel.