meson: Define cpp_std in the top-level project()

Due to a bug, meson ignores ${lang}_std settings in default_options
for subprojects: https://github.com/mesonbuild/meson/issues/1889

This causes build failures when a subproject requires c++11 or c++14,
etc. Compilers that support those cpp_stds are very common, and all
the toolchains that we support include c++ compilers, so we can
add cpp_std=c++14 to the top-level.

This fixes the webrtc-audio-processing build on Linux, and harfbuzz on
macOS.

Part-of: <gstreamer/gstreamer!1133>
29 jobs for !1133 with add-top-level-cpp_std in 37 minutes and 2 seconds
detached
Status Name Job ID Coverage
  Trigger
passed trigger #14790358
manual

00:01:12

 
  Build Docker
passed fedora amd64 docker #14790359

00:00:25

passed gst-indent amd64 docker #14790360

00:01:34

passed windows amd64 docker #14790361
windows shell 1809

00:00:11

 
  Preparation
passed gst indent #14790362

00:00:27

 
  Build
passed build clang fedora x86_64 #14790366

00:08:20

manual build msys2 #14790369
docker windows 1809 allowed to fail manual
passed build nodebug fedora x86_64 #14790363

00:06:16

passed build static fedora x86_64 #14790364

00:07:16

passed build static nodebug fedora x86_64 #14790365

00:06:14

failed build vs2017 amd64 #14790367
docker windows 1809

00:07:40

failed build vs2017 x86 #14790368
docker windows 1809

00:06:51

 
  Test
passed check fedora #14790370
gstreamer

00:07:09

passed integration testsuites fedora 1/4 #14790371
gstreamer

00:33:14

passed integration testsuites fedora 2/4 #14790372
gstreamer

00:33:16

passed integration testsuites fedora 3/4 #14790373
gstreamer

00:34:49

passed integration testsuites fedora 4/4 #14790374
gstreamer

00:34:35

passed valgrind bad #14790383
gstreamer

00:11:05

passed valgrind base 1/4 #14790377
gstreamer

00:08:07

passed valgrind base 2/4 #14790378
gstreamer

00:08:02

passed valgrind base 3/4 #14790379
gstreamer

00:08:11

passed valgrind base 4/4 #14790380
gstreamer

00:07:23

passed valgrind core 1/2 #14790375
gstreamer

00:11:18

passed valgrind core 2/2 #14790376
gstreamer

00:08:32

passed valgrind ges #14790384
gstreamer

00:08:29

passed valgrind good #14790381
gstreamer

00:07:41

passed valgrind ugly #14790382
gstreamer

00:05:04

 
  Integrate
passed gstreamer-full #14790385

00:07:15

passed gstreamer-full-minimal #14790386

00:03:54

 
Name Stage Failure
failed
build vs2017 amd64 Build
c:\builds\nirbheek\gstreamer\subprojects\openh264\codec\decoder\core\inc\wels_common_basis.h: warning C4828: The file contains a character starting at offset 0x267a that is illegal in the current source character set (codepage 65001).
[5725/6450] Compiling C++ object subprojects/openh264/test/common/test_common.exe.p/.._.._.._googletest-release-1.8.0_googletest_src_gtest-all.cc.obj
[5726/6450] Compiling C++ object subprojects/openh264/test/api/test_api.exe.p/.._.._.._googletest-release-1.8.0_googletest_src_gtest-all.cc.obj
[5727/6450] Compiling C++ object subprojects/openh264/test/decoder/test_decoder.exe.p/.._.._.._googletest-release-1.8.0_googletest_src_gtest-all.cc.obj
[5728/6450] Compiling C++ object subprojects/openh264/test/encoder/test_encoder.exe.p/.._.._.._googletest-release-1.8.0_googletest_src_gtest-all.cc.obj
[5729/6450] Compiling C++ object subprojects/openh264/test/processing/test_processing.exe.p/.._.._.._googletest-release-1.8.0_googletest_src_gtest-all.cc.obj
ninja: build stopped: subcommand failed.
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
build vs2017 x86 Build
[5707/6449] Compiling C++ object subprojects/openh264/test/decoder/test_decoder.exe.p/DecUT_DeblockCommon.cpp.obj
c:\builds\nirbheek\gstreamer\subprojects\openh264\codec\decoder\core\inc\wels_common_basis.h: warning C4828: The file contains a character starting at offset 0x259c that is illegal in the current source character set (codepage 65001).
c:\builds\nirbheek\gstreamer\subprojects\openh264\codec\decoder\core\inc\wels_common_basis.h: warning C4828: The file contains a character starting at offset 0x267a that is illegal in the current source character set (codepage 65001).
[5708/6449] Compiling C++ object subprojects/openh264/test/api/test_api.exe.p/.._.._.._googletest-release-1.8.0_googletest_src_gtest-all.cc.obj
[5709/6449] Compiling C++ object subprojects/openh264/test/decoder/test_decoder.exe.p/.._.._.._googletest-release-1.8.0_googletest_src_gtest-all.cc.obj
[5710/6449] Compiling C++ object subprojects/openh264/test/common/test_common.exe.p/.._.._.._googletest-release-1.8.0_googletest_src_gtest-all.cc.obj
ninja: build stopped: subcommand failed.
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1