[SysApps] Add getAVCodecs() interface to the IDL file

Add getAVCodec()s interface to the IDL file to generate
the header and code for this interface.
[SysApps] Add an data provider abstraction for the getAVCodecs()

This patch adds the basic interface needed for starting the development
of the Device Capabilities API getAVCodecs(). In the following patch we
will be adding a platform dependent implementation for querying the
list of supported codecs.
[SysApps] Implement Device Capabilities getAVCodecs() for Linux, Mac and Windows

The data provider will access the list of registered codecs from FFmpeg
and check each codec in the list is supported by Chromium or not by
converting an FFmpeg audio codec ID into its corresponding supported
codec ID in the Chromium.
[SysApps] Add stubs for Android

Linux implementation doesn't work on Android since the Android
port doesn't use FFmpeg. For now, the Android implementation
should print "not implemented" warnings.
[SysApps] Hook the AVCodecProvider into SysAppsManager

The platform specific implementation of AVCodecsProvider[Android|FFmpeg]
has been inherited from the AVCodecsProvider. So, this will allow us to
initialize the platform specific instance of the provider.
[SysApps] Add browsertests for DeviceCapabilities getAVCodecs()
[SysApps] Add AVCodecsProvider unit tests
[SysApps] Add unit test for the GetAVCodecsProvider()
Roll chromium-crosswalk to 0112237.

0112237 [SysApps] Expose ffmpeg function signatures needed by Device Capabilities API
Merge pull request #1447 from nagineni/devcap_avcodecs

[SysApps] Implement the Device Capabilities getAVCodecs() API
DEPS.xwalk: Track ozone-wayland.git.

This is a very important part of the process, as the code expects ozone/ to
be in src/.
Add Ozone-Wayland support
[Packaging] Pass --no-keep-memory to ld by default.

When building Crosswalk (Chromium, in fact) on an IVI chroot, ld ends up
running out of memory.

Work around the issue by passing --no-keep-memory to ld so that it optimizes
for memory consumption over speed. I have not noticed any significant drop
in speed, though.

Do not add any checks for IVI as it does not hurt to have this on all
profiles.
[Packaging] Be compatible with multiple Tizen versions and profiles.

Prepare for the future and start detecting features and versions so that we
can support other Tizen versions and profiles besides Tizen 2.1 Mobile.

Checking for specific profiles is not very future-proof. We therefore try to
look for either specific features that may be enabled in the current profile
(such as Wayland support) or for a certain Tizen major version (the
differences betwen Tizen 2 and Tizen 3 are big enough that we need different
patches and build dependencies, for example).
[Packaging] Add a Mesa patch for Wayland when building for Tizen.

Import a patch from the Ozone-Wayland repository to prevent crashes when
using Mesa and Ozone caused by the way Chromium has GL headers in both
third_party/khronos and third_party/mesa and the wrong ones (with wrong
pointer sizes) may be picked up.

This is being tracked upstream by http://crbug.com/266310