Interestingly/oddly, this is the first time I've heard this use-case.
There are some things that are probably more limited than what you need, but you can do an auto-off for any given action that turns on a light. You can also have any previous auto-off (or auto-on's) cancelled for a given device. That might solve some of your issues.
There's also a 3rd party plugin called
Powermiser that may help with that as well as it exposes some extra functionality around auto-offs.
For the level of functionality that you want, however, you'll likely need to build your own script which implements a light state machine (probably using variables or something). If you implement your script(s) as external scripts, they will be executed in their own process and thus shouldn't effect overall system performance.
Another option would be to build a plugin that implements upwards counting timers. In fact, you might find one of our 3rd party developers here on the forums that might want to tackle it. Building a plugin itself isn't very difficult though from my experience building the Timers plugin the implementation can get somewhat complex. But it's certainly doable though. Plugins also run in their own process so the chances of them impacting the server are reduced (though not entirely eliminated as there are a few bottlenecks).
One bit of advice however - Indigo and Homeseer present automation concepts/solutions in different ways, some significantly different. It's generally worth spending some time understanding the basic objects in Indigo and how those work together before trying something very complex. We've seen switchers from other platforms trying to exactly replicate what they did and spent a huge amount of time, only to find that a good rethink on the use-case (as opposed to the technical solution) would have shown them a different approach in Indigo that would have been much simpler. That may not be the case with you, but just a thought/observation.