Here is Chronometer. It will put up a little color bar for just about anything, and for those things that it doesn't recognize, it is pretty easy to make it do a bar by messing with the lua file for your class.
For example, I coded in my Totem of Wrath in the Shaman.lua file, in the Fire Totem section, because it didn't do a timer bar for it.
Code:
self:AddTimer(self.SPELL, BS["Fire Nova Totem"], 5, 0,1,0, { gr=2, d={tn=L["Improved Fire Totems"], tb=-1}})
self:AddTimer(self.SPELL, BS["Flametongue Totem"], 120, 0,1,0, { gr=2 })
self:AddTimer(self.SPELL, BS["Frost Resistance Totem"], 120, 0,1,0, { gr=2 })
self:AddTimer(self.SPELL, BS["Totem of Wrath"], 120, 0,1,0, { gr=2 })
self:AddTimer(self.SPELL, BS["Magma Totem"], 20, 0,1,0, { gr=2 })
self:AddTimer(self.SPELL, BS["Searing Totem"], 30, 0,1,0, { gr=2, d={rs=5} })
Each class has its own lua file in the Data sub folder.
This is great for timing my totems - I used to have that in Call of Elements before WoW2.
Here is a screenshot, you can see I have Magma Totem, Grounding Totem, Tremor Totem, and a Poison Cleansing Totem up. The bars appear & disappear dynamically as required. You can set a anchor bar for dragging the Chronometer bar area via the config menu. Access the command list by typing /chronometer at your chat prompt.

.