Sync changes from linux with win
signal interface added for possible future usage
termination mechanish added to scene manager
minor changes
add custom smart pointer type
refactored to hide implementations in cpp files
introduce smart pointer everywhere