This adds an initial version of a json interface to bygfoot. This
is still in development so the interface may change in the future. This
interface can be used for writing tests or for communication between a
client and server.
To use the interface, you can pass a json file with commands to bygfoot
using the --json option.
Also introduce a new Bygfoot struct for holding all the global data.
This will eventually replace all the global variables in bygfoot, but
for now it is an empty struct that we are just passing it through to
functions that access global variables.