make array unbounded
implement IO commands

and remove the Maybes. And add a custom function for reading
stdin, because getContents closes it.
This is still a pretty lame implementation. It still doesn't do any
error checking, but more importantly, it seems that using a simple
list for program and array is too inefficient. Even simple BF
programs will fail with a stack error.