detect ico type

@sdsykes @jcheatham

The issue I ran into is that based on this article:

http://en.wikipedia.org/wiki/ICO_(file_format)

"Specifies image height in pixels. Can be any number between 0 and 255. Value 0 means image height is 256 pixels."

Which means I had to do some craziness.
alt. 1
```ruby
case @stream.peek(3)[2].unpack('C')[0]
when 1 then :ico
when 2 then :cur
end
```

alt. 2
```ruby
{1 => :ico, 2 => :cur}[@stream.peek(3)[2].unpack('C')[0]]
```