srl_buffer: all functions receive srl_buffer_t*

This step simplifies reusage of the buffer and varint logic

performance before

$ perl -Iblib/lib -Iblib/arch ./author_tools/bench.pl --sereal_only --encoder
                    Rate sereal_zlib_small sereal_zlib_fast sereal_snappy sereal sereal_func
sereal_zlib_small  512/s                --             -54%          -82%   -85%        -85%
sereal_zlib_fast  1109/s              117%               --          -61%   -67%        -68%
sereal_snappy     2875/s              462%             159%            --   -15%        -16%
sereal            3382/s              561%             205%           18%     --         -1%
sereal_func       3413/s              567%             208%           19%     1%          --

performance after

$ perl -Iblib/lib -Iblib/arch ./author_tools/bench.pl --sereal_only --encoder
                    Rate sereal_zlib_small sereal_zlib_fast sereal_snappy sereal sereal_func
sereal_zlib_small  510/s                --             -54%          -83%   -85%        -85%
sereal_zlib_fast  1119/s              119%               --          -63%   -68%        -68%
sereal_snappy     3051/s              498%             173%            --   -12%        -13%
sereal            3469/s              580%             210%           14%     --         -1%
sereal_func       3497/s              585%             213%           15%     1%          --
srl_buffer: generalize SRL_UPDATE_BODY_POS
Sereal::Merger: adapt to changes in srl_buffer