Taking a different approach, you could use LinuxCNC on a basic Linux machine, and simply run it unconnected, or run it in demo mode. The main window has a decent backplot display.
One thing, though: each implementation of G Code is in some way specific to the system it runs on. So Mach3 has one set of G Codes, Fanuc has another, and LinuxCNC has yet another. The issue is not with the basic core of codes, which they all recognise and interpret in much the same way, but the enhancements and the differences in syntax and program structure. Subroutines, for example, are structured differently and occupy a different position within different flavours of G Code. Mach 3 has no real flow control codes for logic, whereas LinuxCNC has many; and so on. So you would need a backplotter which suits the variant of G Code you want to use.
Marcus