In fact, you can start mining with only a small piece of mining software.
When you mine for a pool, a mining program will be sufficient to begin mining.
When you want to solo mine, you also need a client that connects you to the network for announcing new blocks you find. bitcoind is an obvious choice for this.
There are plenty of beginner's guides on Bitcoin mining available on the web.
A small remark on your question: InstaWallet is absolutely no requirement for participating to the Bitcoin network. A client is absolutelly everything you need. This can be the default Bitcoin-Qt, bitcoind (which you download together with Bitcoin-Qt), the daemon implementation of the default client, or any other client.
InstaWallet is just a web service that allows a very easy and fast way to create a Bitcoin wallet, based on a URL.