Allow handing an existing input variable to InputLayer

This PR extends `InputLayer` with an optional second constructor argument that gives a Theano expression to use as the input. Useful if you already know the variables to use when constructing a network.