Added initial shell implementation.  

Probably needs better error handling.  Also, implementation isn't very elegant.
@bsoetaer 
If we have control of the window though because they are in the shell loop; Then how do they exit?