I'll allow any creature to take levels in a class that's appropriate. Sometimes even with an int of 1 or 2.
Bear barbarian? Why not? The rage ability is great for a mean animal, fast movement makes it superior member of its species... again, why not?
Monkey rogue, with skill points devoted to pick pockets... or how bout a magpie rogue, for that matter? Oooh, shiny! Take with beak, fly away, hide! Ooh, tall things coming (good spot/listen), fly away again.
Better yet, how bout a corollax rogue? Steal, color spray, fly away!
I haven't used classed animals much, but I did have a trained war dog fighter 1 with power attack. I see no reason why you shouldn't use class and level to simulate animals with training or natural potential (like the barbarian bear). Granted, you won't see many owl wizards- but why not a druid once in a while? Or, for that matter, how about a low-level animal sorcerer? They usually have a cha around 10 or 11, so they could pump out 0 and 1st-level spells.
No, really! Try it, it keeps animals worthy opponents and worthy animal companions as time goes by. I generally wouldn't allow a druid to train its animal to gain more levels though.