[Android] [Backport] Volume is too low when playing audio through WebAudio API

Patched by Li Yin <li.yin@intel.com>
This patch is back ported from chromium trunk, since the too low sound in webaudio
brings a bad user experience, and gets so many compaints from web game developers.

Please see: https://codereview.chromium.org/173503003/

Today, WebAudio uses the OpenSL ES low-latency audio backend in media/audio,
but the stream type is always communication mode (which is OK for WebRTC but
not for WebAudio).

This patch ensures that:
- Only switch to system-wide Communication mode when a low-latency input stream
  is created (e.g. from getUserMedia).
- Opens the native output stream in Media mode if system mode is Media and in
  Communication mode if system mode is Communication.

TEST=http://chromium.googlecode.com/svn/trunk/samples/audio/shiny-drum-machine.html

BUG=https://crosswalk-project.org/jira/browse/XWALK-980
Merge pull request #128 from yinli/volume-webaudio

[Android] Volume is too low when playing audio through WebAudio API