extract client into separate project, add gui client skeleton