quickopen: construct context menu on demand
The reason for this change is that quickopen currently takes a lot of time during startup and running a simple profile shows that a lot of time was being spent in contruction of this context menu. Hence, now we construct it on demand.