tools/png: Separate table from row generating logic

This adds an object which creates a tuple and randomly populates it with
generated data using the payload.
tools/png: Use tuple object to generate headers