symbolview: Use onSymbol callback to fill lists, add mutex

The mutex is needed since the onSymbol() callback can come from
another thread.
model: Whitespace cleanup
unit tests: Add test for files without symbols
instructions: Add separate type for calls