Implements table.size, table.grow, table.fill and table.copy.
table.init and elem.drop are intentionally not implemented because they require manipulation of element segments, which aren't directly exposed in the current WebAssembly Clang/LLVM toolchain.
This is ready for a first-pass review, though will need an update for coverage of funcref tables once D122215 funcrefs are finalised.
Can you explain the distinction here? Maybe a comment would be good?