Fix buffer overflow in JACK audio driver

retroarch.c:flush_rewind_audio() can potentially send up to
audio_data.rewind_buf of 2048 frames (4096 samples) to audio_flush().

rarch_resampler_process() can potentially multiply the number of
frames by AUDIO_MAX_RATIO, to 32768 frames.

audio/jack.c:write_buffer() allocates a buffer of only 2048 frames on
the stack, which can overflow. This reliably happens when rewinding in
slow motion.

Multiply the JACK driver buffer by AUDIO_MAX_RATIO to prevent overflow.

However, DSP can also adjust the number of frames without limit. There
is no DSP_MAX_RATIO, so check the number of frames in
audio/jack.c:write_buffer() and truncate if they will not fit the
buffer. This will cause garbled audio, but in practice it is unlikely
to occur (DSP plugins do not usually add frames, flush_rewind_audio()
does not usually send the maximum possible number of frames).
Merge pull request #916 from mprobinson/jack-fix

Fix buffer overflow in JACK audio driver
Merge pull request #915 from mprobinson/master

Avoid flicker during BFI and slow-motion or pause
(Menu) Split up menu entries code to menu_entries.c
(Griffin) Add menu_entries.c to griffin.c
Refactor prev/next driver settings
Use menu_entries header in menu_entries.c
(Menu) Refactor menu_entries_push
(Menu) Refactor menu_entries_push
(Menu) Remove dependency on General Settings enum
(Menu) Simplify call to menu_entries_push
(Menu) Refactor menu_parse_and_resolve
(Menu) Cut down on unused variables
(Menu) Refactor menu_parse_and_resolve
(Menu) menu_parse_and_resolve cleanups
(Menu) Move code from menu_parse_and_resolve to menu_entries_push
(Menu) Refactor menu_parse_and_resolve
(Menu) Refactor menu_parse_and_resolve pt. 2
Refactor menu_parse_and_resolve - add call to menu_entries_push
and add int returnvalue for menu_entries_push
(Menu) Add Ifdefs for shader manager menu backend code parts