[eluser]BrianDHall[/eluser]
My relatively 'loose' opinion is it'd be better to make it a library so you can explicitly use get_instance() to control access to the super-object instead of relying on $this to behave as you would expect in all controllers, models, views, or anywhere else you might want to use it.
Helpers in general should be things that don't really care about things like controllers, models, views, $this, and that shouldn't need to keep track of anything like internal variables, etc. Violating this can easily create bugs that are hard to find, as helpers should generally take certain parameters and their only effect on the system as a whole should be returning a value.
Helpers are basically meant to mimick functional programming and built-in PHP functions like md5(), url_encode(), chomp(), trim(), etc etc.
Libraries are like CI's image manipulation or file upload classes - they are objects that often need to keep track of certain information like config, variable file paths, environment variables, etc.
If your helper requires other helpers, other objects, other libraries, and so on, I think it'll save you a lot of grief to just make them a library.