draw_net.py: Draw kernel info for convolution and pooling layers

Enhancements to `draw_net.py`, including:
* Include kernel information in node labels for convolution and pooling layers
* Include the type of the pooling layer in the label (e.g., max, average, etc.)
* Add option for `rankdir` other than `LR`
  * To capitalize on available space, if `rankdir == BT` or `TB`, node labels will be drawn wider; if it's `LR` or `RL`, they'll be drawn taller.
* Use `argparse`

In particular, the addition of kernel information makes a graph much more useful.

Original:
![net-old](https://cloud.githubusercontent.com/assets/1332812/5048976/79834ac2-6bd6-11e4-8ffd-e9cf8684e790.png)

New:
![net-new](https://cloud.githubusercontent.com/assets/1332812/5048980/816993d6-6bd6-11e4-9d64-7cbd5ab5d23a.png)