How to do Bounce Rate ajustment based on time spent and page scrolling?

As Clint outlined, you can pretty much copy and paste Simo's code as a Custom Javascript extension, replacing the push call with a utag.view call.
The only gotcha is that with Simo's setTimeout call passing a string won't work, as they are evaluated in global scope and will not have access to the locally scoped timeElapsed function. You can solve this by moving the timeElapsed function contents into setTimeout:
setTimeout(function(){
visitTookTime = true;
sendNoBounce();
}, 30000);