as seen from the question asked i believe there are lot of custom components that needs to be deployed to your sharepoint online environment.
here is what i can suggest you from the customization point of view
Timerjobs- replace with Azure web jobs
Event Handler- replace with Remote event recievers with azure environment for web app hosting
Master Page- microsoft does not recommend developers to customize the master pages in the sharepoint online environment. suggestion would be to create Custom Actions to run on your online site with customizations required.
Any Custom web part should be replaced with an sharepoint hosted addin or with PowerApps with MS Flow.
for migration of data
you can try using METALOGIX Content migrator