FifoRecorder: Use std::vector for m_Ram and m_ExRam

No need to delete/recreate the arrays every time a new recording happens. Just zero it out.
VideoCommon: rewrite DataReader
VideoCommon: fifo cleanups
VideoCommon: cleanup OpcodeDecoder
VertexLoader: Move the old Datareader function into VertexLoader
VideoCommon: Rename s_pCurBufferPointer
VideoCommon: clean up VertexLoader
UnitTests: fix VertexLoaderTest
Merge pull request #1680 from degasus/master

PixelShaderGen: merge OGL+D3D bbox
Merge pull request #1609 from degasus/datareader

VideoCommon: Datareader
FIFO: allocate slightly more for SIMD vertex loader overreads

May fix crashes in rare cases.
Merge pull request #1676 from FioraAeterna/allocatefifo

FIFO: allocate slightly more for SIMD vertex loader overreads
Merge pull request #1670 from lioncash/array

FifoRecorder: Use std::vector for m_Ram and m_ExRam
OGL: fix efb pokes